package com.gt.aep.base.dao.systemManage;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gt.aep.base.entity.systemManage.SysIdentityRole;
import com.gt.aep.base.entity.systemManage.SysIdentityRoleUser;
import com.gt.aep.base.entity.systemManage.SysUser;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface SysIdentityRoleUserDao {
    /**
     * 新增身份角色-用户关系
     * @param sysIdentityRole
     * @return
     */
    int insert(SysIdentityRoleUser sysIdentityRole);

    /**
     * 修改身份角色-用户关系
     * @param sysIdentityRole
     * @return
     */
    int update(SysIdentityRoleUser sysIdentityRole);

    /**
     * 批量删除身份角色-用户关系
     * @param ids
     * @return
     */
    int delete(String[] ids);

    /**
     * 根据用户id查询身份角色列表
     * @param uid 用户id
     * @return
     */
    List<SysIdentityRole> getListByUid(@Param("uid") String uid);

    /**
     * 根据用户id查询身份角色个数
     * @param uid 用户id
     * @return
     */
    int getCountByUid(@Param("uid") String uid);

    /**
     * 根据身份角色id获取列表
     * @param identityRoleId 身份角色id
     * @return
     */
    List<SysUser> getListByIdentityRoleId(@Param("identityRoleId") String identityRoleId);

    /**
     * 根据身份角色id获取符合的用户个数
     * @param identityRoleId
     * @return
     */
    int getCountByIdentityRoleId(@Param("identityRoleId") String identityRoleId);

    /**
     * 清楚与userId相关的记录
     * @param userId
     * @return
     */
    int deleteByUid(@Param("userId") String userId);
}
